#ifndef WINDOW_H
#define WINDOW_H

#include <SFML/Window.hpp>
#include <SFML/OpenGL.hpp>

#include <string>


                       /** Window Class **/
 /*****************************************************************************
 *                                                                            *
 * The Window class is a basic class that uses sf::Window to open a window    *
 * and can give you the windows mouse coords/mouse click, and keypress events *
 *                                                                            *
 *****************************************************************************/

class Window
{
    public:
        Window(int width = 800, int height = 600, std::string title = "OpenGL");
        virtual ~Window();

        void clear();
        void display();

        bool getEvent(sf::Event& event);

        void close();

        bool open();

        bool keyPressed(sf::Keyboard::Key key);
        bool mouseClicked(sf::Mouse::Button button);

        sf::Vector2i mouseCoords();
        sf::Vector2i size();


    private:
        sf::Vector2i        _size;
        std::string         _title;
        sf::ContextSettings _settings;
        sf::Window          _window;
        sf::Event           _event;
        sf::Vector2i        _mousePosition;
        bool                _open;

};

#endif // WINDOW_H
